home *** CD-ROM | disk | FTP | other *** search
- /*
- * Source generated with GadToolsBox V1.4
- * which is (c) Copyright 1991,92 Jaba Development
- */
-
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include <intuition/classes.h>
- #include <intuition/classusr.h>
- #include <intuition/imageclass.h>
- #include <intuition/gadgetclass.h>
- #include <libraries/gadtools.h>
- #include <graphics/displayinfo.h>
- #include <graphics/gfxbase.h>
- #include <clib/exec_protos.h>
- #include <clib/intuition_protos.h>
- #include <clib/gadtools_protos.h>
- #include <clib/graphics_protos.h>
- #include <clib/utility_protos.h>
- #include <string.h>
- #include <clib/diskfont_protos.h>
-
- #include "Main.h"
- #include "Window.h"
-
- #define HEIGHT_NODATE 25
- #define HEIGHT_DATE 40
-
- struct Screen *Scr = NULL;
- APTR VisualInfo = NULL;
- struct Window *DClockWnd = NULL;
- struct Menu *DClockMenus = NULL;
- struct TextFont *Font = NULL;
- UWORD DClockLeft = 213;
- UWORD DClockTop = 93;
- UWORD DClockWidth = 84;
- UWORD DClockHeight = 25;
- UBYTE *DClockWdt;
-
- struct TextAttr topaz8 = {
- ( STRPTR )"topaz.font", 8, 0x00, 0x62 };
-
- struct NewMenu DClockNewMenu[] = {
- NM_TITLE, (STRPTR)"DClock ", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Display seconds", (STRPTR)"S", CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"24h", (STRPTR)"H", CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"Date", (STRPTR)"D", CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"dd-mm-yyyy", NULL, CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"Alarm on", (STRPTR)"1", CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"Timer on", (STRPTR)"2", NM_ITEMDISABLED|CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Set alarm clock...", (STRPTR)"A", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Set timer...", (STRPTR)"T", 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Alarm command...", (STRPTR)"3", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Timer command...", (STRPTR)"4", 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Save preferences", (STRPTR)"W", 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"About...", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Quit", (STRPTR)"Q", 0, 0L, NULL,
- NM_TITLE, (STRPTR)"Window ", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Foreground color", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"0", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_SUB, (STRPTR)"1", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_SUB, (STRPTR)"2", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_SUB, (STRPTR)"3", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_ITEM, (STRPTR)"Background color", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"0", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_SUB, (STRPTR)"1", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_SUB, (STRPTR)"2", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_SUB, (STRPTR)"3", NULL, CHECKIT|MENUTOGGLE, ~(1 << 4), NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Dragbar", (STRPTR)"B", CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"Activate", NULL, CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Iconify", (STRPTR)"I", 0, 0L, NULL,
- NM_END, NULL, NULL, 0, 0L, NULL };
-
- int SetupScreen( void )
- {
-
- if ( ! ( Scr = LockPubScreen((UBYTE * )PubScreenName)))
- {
- if (strcmp(PubScreenName, "Workbench"))
- Scr = LockPubScreen((UBYTE * )"Workbench");
- if (! Scr)
- return( 1L );
- }
-
- if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
- return( 2L );
-
- return( 0L );
- }
-
- void CloseDownScreen( void )
- {
- if ( VisualInfo ) {
- FreeVisualInfo( VisualInfo );
- VisualInfo = NULL;
- }
-
- if ( Scr ) {
- UnlockPubScreen( NULL, Scr );
- Scr = NULL;
- }
- }
-
- int OpenDClockWindow(struct AppPrefs *prefs)
- {
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
- int fg = prefs->foreground;
- int bg = prefs->background;
- int windowflags;
- int fpen = 0;
-
- DClockLeft = prefs->windowX; // Set top left corner of the window
- DClockTop = prefs->windowY;
- DClockHeight = prefs->date ? HEIGHT_DATE : HEIGHT_NODATE;
-
- if (prefs->dragbar)
- {
- windowflags = WFLG_DRAGBAR|WFLG_SMART_REFRESH;
- DClockNewMenu[31].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- DClockWdt = (UBYTE *)"DClock";
- }
- else
- {
- windowflags = WFLG_SMART_REFRESH;
- DClockNewMenu[31].nm_Flags = CHECKIT|MENUTOGGLE;
- DClockWdt = NULL;
- }
- if (((struct Library *)IntuitionBase)->lib_Version >= 39)
- {
- windowflags |= WFLG_NEWLOOKMENUS;
- fpen = 1;
- }
-
- if (prefs->activate)
- {
- windowflags |= WFLG_ACTIVATE;
- DClockNewMenu[32].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- }
- else
- {
- windowflags &= (~WFLG_ACTIVATE);
- DClockNewMenu[32].nm_Flags = CHECKIT|MENUTOGGLE;
- }
-
-
- DClockNewMenu[21 + fg].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- DClockNewMenu[26 + bg].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
-
- if (prefs->seconds)
- DClockNewMenu[1].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- else
- DClockNewMenu[1].nm_Flags = CHECKIT|MENUTOGGLE;
-
- if (prefs->twentyfour)
- DClockNewMenu[2].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- else
- DClockNewMenu[2].nm_Flags = CHECKIT|MENUTOGGLE;
-
- if (prefs->date)
- DClockNewMenu[3].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- else
- DClockNewMenu[3].nm_Flags = CHECKIT|MENUTOGGLE;
-
- if (prefs->ddmmyy)
- DClockNewMenu[4].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- else
- DClockNewMenu[4].nm_Flags = CHECKIT|MENUTOGGLE;
-
-
- if (prefs->alarm)
- DClockNewMenu[5].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- else
- DClockNewMenu[5].nm_Flags = CHECKIT|MENUTOGGLE;
-
- if (prefs->timer)
- DClockNewMenu[6].nm_Flags = CHECKIT|CHECKED|MENUTOGGLE;
- else if (prefs->timerval)
- DClockNewMenu[6].nm_Flags = CHECKIT|MENUTOGGLE;
- else
- DClockNewMenu[6].nm_Flags = NM_ITEMDISABLED|CHECKIT|MENUTOGGLE;
-
- if ( ! ( DClockMenus = CreateMenus( DClockNewMenu, GTMN_FrontPen, fpen, TAG_DONE )))
- return( 3L );
-
- LayoutMenus( DClockMenus, VisualInfo, TAG_DONE );
-
- if ( ! ( DClockWnd = OpenWindowTags( NULL,
- WA_Left, DClockLeft,
- WA_Top, DClockTop,
- WA_InnerWidth, DClockWidth,
- WA_InnerHeight, DClockHeight,
- WA_IDCMP, IDCMP_MENUPICK|IDCMP_REFRESHWINDOW|IDCMP_CLOSEWINDOW,
- WA_Flags, windowflags,
- WA_Title, DClockWdt,
- WA_ScreenTitle, "DClock V1.6 © 1995",
- WA_PubScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- SetMenuStrip( DClockWnd, DClockMenus );
- GT_RefreshWindow( DClockWnd, NULL );
-
-
- return( 0L );
- }
-
- void CloseDClockWindow( void )
- {
- if ( DClockMenus ) {
- ClearMenuStrip( DClockWnd );
- FreeMenus( DClockMenus );
- DClockMenus = NULL; }
-
- if ( DClockWnd ) {
- CloseWindow( DClockWnd );
- DClockWnd = NULL;
- }
- }
-
-